package cn.magic.feign;

import cn.magic.domain.User;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

//name的值  就是需要调用的服务的服务名
@FeignClient(value = "user-server",fallbackFactory = UserFeignClientFallbackFactory.class)
public interface UserFeignClient {
    /*
       写一个feign  有五个相同
       1.@FeignClient里面的name 要和需要调用的服务的服务名一致
       2.请求的方式  要一致(你要调用的服务 如果是GetMapping 的 那你也要一样)
       3.请求的路径要一致
       4.返回的参数类型要一致
       5.请求的参数要一致

       总结:
       写一个feign  只要把要调用的那个controller的方法复制过来(不要方法体)
       然后  @FeignClient里面的name设置好
    */
    @GetMapping("/user/{id}")
   User getByUserId(@PathVariable Long id);

}
